1284D - New Year and Conference - CodeForces Solution


binary search data structures hashing sortings *2100

Please click on ads to support us..

C++ Code:

// Hydro submission #[email protected]
#include <bits/stdc++.h>
using namespace std; 
typedef unsigned long long u64; 

int n; 
mt19937_64 Rand(time(0)); 
u64 val[100005], S[100005]; 

struct Node {
    int p, id, k; 
    bool operator< (const Node &a) {
        if (p == a.p) return k < a.k; 
        return p < a.p; 
    }
} a[200005], b[200005]; 

int main(void) {
    scanf("%d", &n); 
    for (int i = 1, x; i <= n; ++i) {
        val[i] = Rand(); 
        scanf("%d", &x); a[i * 2 - 1] = {x, i, 0}; 
        scanf("%d", &x); a[i * 2] = {x, i, 1}; 
        scanf("%d", &x); b[i * 2 - 1] = {x, i, 0}; 
        scanf("%d", &x); b[i * 2] = {x, i, 1}; 
    } sort(a + 1, a + n * 2 + 1); sort(b + 1, b + n * 2 + 1); 
    u64 V = 0; 
    for (int i = 1; i <= n * 2; ++i) 
        if (a[i].k) V ^= val[a[i].id]; 
        else S[a[i].id] ^= V; 
    V = 0; 
    for (int i = n * 2; i >= 1; --i)
        if (!a[i].k) V ^= val[a[i].id]; 
        else S[a[i].id] ^= V; 
    V = 0; 
    for (int i = 1; i <= n * 2; ++i) 
        if (b[i].k) V ^= val[b[i].id]; 
        else S[b[i].id] ^= V; 
    V = 0; 
    for (int i = n * 2; i >= 1; --i)
        if (!b[i].k) V ^= val[b[i].id]; 
        else S[b[i].id] ^= V; 
    bool flag = 1; 
    for (int i = 1; i <= n; ++i) flag &= S[i] == 0;  
    return puts(flag ? "Yes" : "No"); 
}


Comments

Submit
0 Comments
More Questions

1399A - Remove Smallest
208A - Dubstep
1581A - CQXYM Count Permutations
337A - Puzzles
495A - Digital Counter
796A - Buying A House
67A - Partial Teacher
116A - Tram
1472B - Fair Division
1281C - Cut and Paste
141A - Amusing Joke
112A - Petya and Strings
677A - Vanya and Fence
1621A - Stable Arrangement of Rooks
472A - Design Tutorial Learn from Math
1368A - C+=
450A - Jzzhu and Children
546A - Soldier and Bananas
32B - Borze
1651B - Prove Him Wrong
381A - Sereja and Dima
41A - Translation
1559A - Mocha and Math
832A - Sasha and Sticks
292B - Network Topology
1339A - Filling Diamonds
910A - The Way to Home
617A - Elephant
48A - Rock-paper-scissors
294A - Shaass and Oskols